#if !defined(AFX_WINDOW_H__187A6F17_7C56_42E1_899B_79981D158ED7__INCLUDED_)
#define AFX_WINDOW_H__187A6F17_7C56_42E1_899B_79981D158ED7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Window.h : header file
//



/////////////////////////////////////////////////////////////////////////////
// Window command target

class Window : public CCmdTargetPlus
{
	DECLARE_DYNCREATE(Window)

	Window();           // protected constructor used by dynamic creation
	virtual ~Window();
	
// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(Window)
	public:
	virtual void OnFinalRelease();
	//}}AFX_VIRTUAL

// Implementation
protected:

	DECLARE_MESSAGE_MAP()
	DECLARE_DISPATCH_MAP()
	DECLARE_INTERFACE_MAP()
	DECLARE_EVENT_MAP()
	
	DECLARE_OLETYPELIB(Window)

protected:
	
	// Generated message map functions
	//{{AFX_MSG(Window)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG
	
public:
	// Dispatch maps
	// Generated OLE dispatch map functions
	//{{AFX_DISPATCH(Window)
	afx_msg short GetCaretX();
	afx_msg void SetCaretX(short nNewValue);
	afx_msg long GetCaretY();
	afx_msg void SetCaretY(long nNewValue);
	afx_msg long SetTimeout(long nMilliSeconds);
	afx_msg void ClearTimeout(long nTimerID);
	afx_msg long MessageBox(LPCTSTR Text, LPCTSTR Caption, long nType);
	//}}AFX_DISPATCH
	afx_msg VARIANT_BOOL MoveCaret(short nCaretX, short nCaretY);	

public:
	// Event maps
	//{{AFX_EVENT(Window)
	void FireOnTimeout(long nTimerID)
		{FireEvent(eventidOnTimeout,EVENT_PARAM(VTS_I4), nTimerID);}
	void FireOnEventTest()
		{FireEvent(eventidOnEventTest,EVENT_PARAM(VTS_NONE));}
	//}}AFX_EVENT

public:
	HRESULT GetClassID(LPCLSID pclsid);

public:
	enum {
	//{{AFX_DISP_ID(Window)
	dispidCaretX = 1L,
	dispidCaretY = 2L,
	dispidSetTimeout = 3L,
	dispidClearTimeout = 4L,
	dispidMoveCaret = 5L,
	dispidMessageBox = 6L,
	eventidOnTimeout = 1L,
	eventidOnEventTest = 2L,
	//}}AFX_DISP_ID
	};
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WINDOW_H__187A6F17_7C56_42E1_899B_79981D158ED7__INCLUDED_)
